package com.example.doctor.service;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.example.common.entity.DoctorBaseInfo;
import com.example.doctor.dto.req.ConfigReq;
import com.example.doctor.dto.req.PcRxListReq;

import org.springframework.web.multipart.MultipartFile;

public interface DoctorCenterService {
    Map<String, Object> MyIndex(long dcID);

    Map<String, Object> MyInfo(long dcID);

    Boolean MyInfoSave(DoctorBaseInfo req);

    Object ImgUpLoad(MultipartFile file);

    Boolean MyHeadSave(DoctorBaseInfo req);

    List<Map<String, Object>> IMOrderList(int AType,int page,int limit,long UID);

    List<Map<String, Object>> DocATypeCount(long UID);

    Map<String, Object> ServiceInfo(long UID, int AType);

    Boolean EditService(long UID, ConfigReq req);

    Map<String, Object> GetPrescription(long UID);

    Boolean EditPrescription(long UID, boolean ZPrescription, boolean XPrescription);

    List<Map<String, Object>> ZRxList(int page,int limit,long UID);

    List<Map<String, Object>> XRxList(int page,int limit,long UID);

    Map<String,Object> CommentList(int page,int limit,long UID, String IsComment, String search);

    Map<String, Object> CommentDetail(long UID, String OrderNO);

    Boolean ReComment(String OrderNO, String Re);

    Map<String, Object> PcRxList(PcRxListReq req);

    /**
     * 添加签名任务
     * @param orderId 订单id
     * @param msspId 用户编号
     * @return 任务id
     */
    Map<String, String> addSignJob(String orderId, String msspId);

    /**
     * 获得当前用户的激活码
     *
     * @param phone 用户的手机号
     * @return 返回用户激活信息
     */
    Map<String, String> getCaMessage(String phone);

    /**
     * 获得请求结果
     * @param signJobId 任务id
     * @param msspId 用户编号
     * @return 返回结果
     */
    Map<String, String> querySignJob(String signJobId, String msspId, String orderId);

    /**
     * 获取是否签名成功
     * @param plain 原文bash64
     * @param signResult 签名结果
     * @param cert 证书
     * @param orderId 订单id
     * @return 是否签名成功
     */
    Map<String, String> verifySign(String plain, String signResult, String cert, String orderId, String timeSignature);
}
